package com.jia.thumps.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jia.result.ScrollResult;
import com.jia.sms.entity.User;
import com.jia.thumps.entity.Blog;

import java.util.List;

/**
 * (Blog)表服务接口
 *
 * @author makejava
 * @since 2024-10-09 00:11:07
 */
public interface BlogService extends IService<Blog> {

    /**
     * 点赞
     *
     * @param id 笔记id
     * @return 布尔值
     */
    Boolean like(Long id);

    /**
     * 分页查询 探店笔记
     *
     * @param blog 筛选条件
     * @param page 分页参数
     * @return 分页对象
     */
    Page<Blog> queryByPage(Blog blog, Page page);

    /**
     * 查询单条笔记信息
     *
     * @param id 笔记id
     * @return 实例对象
     */
    Blog queryById(Long id);

    /**
     * 新增探店笔记
     *
     * @param blog 笔记
     * @return 布尔值
     */
    Boolean insert(Blog blog);

    /**
     * 查询最新点赞的用户
     *
     * @param id  笔记id
     * @param top 排序
     * @return 实例数组
     */
    List<User> likeUser(Long id, Long top);

    /**
     * 滚动分页查询自己的收件箱
     *
     * @param lastId 时间
     * @param offset 偏移量
     * @return 实例对象
     */
    ScrollResult queryOwnerInbox(Long lastId, Integer offset);
}
